package com.todo.strategy.offline.iface;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.offline.iface.request.*;
import com.todo.strategy.offline.iface.response.MemoTemplateResp;
import com.todo.strategy.offline.iface.response.QueryMemoTemplateBaseResp;

/**
 * @author azhebuxing
 * @date 2024/11/28 03:48
 * @description
 */
public interface MemoTemplateIface {

    /**
     * 新增备忘录模板信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertMemoTemplate(InsertMemoTemplateReq req);

    /**
     * 更新备忘录模板基础信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateMemoTemplate(UpdateMemoTemplateReq req);

    /**
     * 根据主键删除备忘录信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeMemoTemplateById(RemoveMemoTemplateByIdReq req);

    /**
     * 更新备忘录模板状态
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateMemoTemplateStatusById(UpdateMemoTemplateStatusByIdReq req);

    /**
     * 根据主键查询备忘录详情信息
     *
     * @param req
     * @return
     */
    BizResponse<MemoTemplateResp> queryMemoTemplateById(QueryMemoTemplateDetailByIdReq req);

    /**
     * 多条件分页查询备忘录模板信息
     *
     * @param req
     * @return
     */
    BizPageResponse<QueryMemoTemplateBaseResp> queryMemoTemplateByCondition(QueryMemoTemplateBaseReq req);
}
